
#ifndef CLASSVECTOR_H
#define CLASSVECTOR_H

#include <BClass>

using namespace BWE;

class ClassVector : public BClass
{
public:
	ClassVector();

	void init(int argc, BValue* argv);
	void init_xyz(int argc, BValue* argv);
	void init_other(int argc, BValue* argv);

	void reset(int argc, BValue* argv);
	void set(int argc, BValue* argv);

	void x(int argc, BValue* argv);
	void y(int argc, BValue* argv);
	void z(int argc, BValue* argv);

	void setX(int argc, BValue* argv);
	void setY(int argc, BValue* argv);
	void setZ(int argc, BValue* argv);

	void normalize(int argc, BValue* argv);
	void normal(int argc, BValue* argv);

	void inverse(int argc, BValue* argv);
	void reverse(int argc, BValue* argv);

	void setLength(int argc, BValue* argv);
	void length(int argc, BValue* argv);
	void length2(int argc, BValue* argv);

	void dot_xyz(int argc, BValue* argv);
	void dot_other(int argc, BValue* argv);

	void angle_xyz(int argc, BValue* argv);
	void angle_other(int argc, BValue* argv);

	void cross_xyz(int argc, BValue* argv);
	void cross_other(int argc, BValue* argv);

	void assign(int argc, BValue* argv);

	void plus_value(int argc, BValue* argv);
	void plus_other(int argc, BValue* argv);

	void plus_equal_value(int argc, BValue* argv);
	void plus_equal_other(int argc, BValue* argv);

	void minus_self(int argc, BValue* argv);
	void minus_value(int argc, BValue* argv);
	void minus_other(int argc, BValue* argv);

	void minus_equal_value(int argc, BValue* argv);
	void minus_equal_other(int argc, BValue* argv);

	void mult_value(int argc, BValue* argv);
	void mult_other(int argc, BValue* argv);

	void mult_equal_value(int argc, BValue* argv);
	void mult_equal_other(int argc, BValue* argv);

	void div_value(int argc, BValue* argv);
	void div_other(int argc, BValue* argv);

	void div_equal_value(int argc, BValue* argv);
	void div_equal_other(int argc, BValue* argv);

	void equal(int argc, BValue* argv);
	void unequal(int argc, BValue * argv);

	void greater_other(int argc, BValue* argv);
	void greater_equal_other(int argc, BValue* argv);

	void less_other(int argc, BValue* argv);
	void less_equal_other(int argc, BValue* argv);
};

#endif
